home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / QuickDraw3D 1.6 SDK / Mac Interfaces / CIncludes / QD3DCustomElements.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-05-18  |  4.3 KB  |  176 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        QD3DCustomElements.h
  3.  
  4.      Contains:    Custom QuickTime Elements in QuickDraw 3D                            
  5.  
  6.      Version:    Technology:    Quickdraw 3D 1.6
  7.                  Release:    QuickTime 4.0
  8.  
  9.      Copyright:    © 1995-1999 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __QD3DCUSTOMELEMENTS__
  18. #define __QD3DCUSTOMELEMENTS__
  19.  
  20. #ifndef __QD3D__
  21. #include <QD3D.h>
  22. #endif
  23. #ifndef __MOVIES__
  24. #include <Movies.h>
  25. #endif
  26.  
  27.  
  28.  
  29. #if PRAGMA_ONCE
  30. #pragma once
  31. #endif
  32.  
  33. #ifdef __cplusplus
  34. extern "C" {
  35. #endif
  36.  
  37. #if PRAGMA_IMPORT
  38. #pragma import on
  39. #endif
  40.  
  41. #if PRAGMA_STRUCT_ALIGN
  42.     #pragma options align=power
  43. #elif PRAGMA_STRUCT_PACKPUSH
  44.     #pragma pack(push, 2)
  45. #elif PRAGMA_STRUCT_PACK
  46.     #pragma pack(2)
  47. #endif
  48.  
  49. #if PRAGMA_ENUM_ALWAYSINT
  50.     #pragma enumsalwaysint on
  51. #elif PRAGMA_ENUM_OPTIONS
  52.     #pragma option enum=int
  53. #elif PRAGMA_ENUM_PACK
  54.     #if __option(pack_enums)
  55.         #define PRAGMA_ENUM_PACK__QD3DCUSTOMELEMENTS__
  56.     #endif
  57.     #pragma options(!pack_enums)
  58. #endif
  59.  
  60.  
  61. /******************************************************************************
  62.  **                                                                             **
  63.  **                        Name Data Structure Definitions                         **
  64.  **                                                                             **
  65.  *****************************************************************************/
  66. #define    CEcNameElementName    "Apple Computer, Inc.:NameElement"
  67.  
  68.  
  69. /******************************************************************************
  70.  **                                                                             **
  71.  **                        Custom Name Element Functions                         **
  72.  **                                                                             **
  73.  *****************************************************************************/
  74. EXTERN_API_C( TQ3Status )
  75. CENameElement_SetData            (TQ3Object                 object,
  76.                                  const char *            name);
  77.  
  78. EXTERN_API_C( TQ3Status )
  79. CENameElement_GetData            (TQ3Object                 object,
  80.                                  char **                name);
  81.  
  82. EXTERN_API_C( TQ3Status )
  83. CENameElement_EmptyData            (char **                name);
  84.  
  85.  
  86. /******************************************************************************
  87.  **                                                                             **
  88.  **                            URL Data Structure Definitions                     **
  89.  **                                                                             **
  90.  *****************************************************************************/
  91. #define    CEcUrlElementName        "Apple Computer, Inc.:URLElement"
  92.  
  93. enum TCEUrlOptions {
  94.     kCEUrlOptionNone            = 0,
  95.     kCEUrlOptionUseMap            = 1
  96. };
  97. typedef enum TCEUrlOptions TCEUrlOptions;
  98.  
  99.  
  100. struct TCEUrlData {
  101.     char *                            url;
  102.     char *                            description;
  103.     TCEUrlOptions                     options;
  104. };
  105. typedef struct TCEUrlData                TCEUrlData;
  106. /******************************************************************************
  107.  **                                                                             **
  108.  **                        Custom URL Element Functions                         **
  109.  **                                                                             **
  110.  *****************************************************************************/
  111. EXTERN_API_C( TQ3Status )
  112. CEUrlElement_SetData            (TQ3Object                 object,
  113.                                  TCEUrlData *            urlData);
  114.  
  115. EXTERN_API_C( TQ3Status )
  116. CEUrlElement_GetData            (TQ3Object                 object,
  117.                                  TCEUrlData **            urlData);
  118.  
  119. EXTERN_API_C( TQ3Status )
  120. CEUrlElement_EmptyData            (TCEUrlData **            urlData);
  121.  
  122. /******************************************************************************
  123.  **                                                                             **
  124.  **                            Wire Data Definitions                             **
  125.  **                                                                             **
  126.  *****************************************************************************/
  127. #define    CEcWireElementName    "Apple Computer, Inc.:WireElement"
  128.  
  129. /******************************************************************************
  130.  **                                                                             **
  131.  **                        Wire Custom Element Functions                         **
  132.  **                                                                             **
  133.  *****************************************************************************/
  134. EXTERN_API_C( TQ3Status )
  135. CEWireElement_SetData            (TQ3Object                 object,
  136.                                  QTAtomContainer         wireData);
  137.  
  138. EXTERN_API_C( TQ3Status )
  139. CEWireElement_GetData            (TQ3Object                 object,
  140.                                  QTAtomContainer *        wireData);
  141.  
  142. EXTERN_API_C( TQ3Status )
  143. CEWireElement_EmptyData            (QTAtomContainer *        wireData);
  144.  
  145.  
  146.  
  147.  
  148. #if PRAGMA_ENUM_ALWAYSINT
  149.     #pragma enumsalwaysint reset
  150. #elif PRAGMA_ENUM_OPTIONS
  151.     #pragma option enum=reset
  152. #elif defined(PRAGMA_ENUM_PACK__QD3DCUSTOMELEMENTS__)
  153.     #pragma options(pack_enums)
  154. #endif
  155.  
  156. #if PRAGMA_STRUCT_ALIGN
  157.     #pragma options align=reset
  158. #elif PRAGMA_STRUCT_PACKPUSH
  159.     #pragma pack(pop)
  160. #elif PRAGMA_STRUCT_PACK
  161.     #pragma pack()
  162. #endif
  163.  
  164. #ifdef PRAGMA_IMPORT_OFF
  165. #pragma import off
  166. #elif PRAGMA_IMPORT
  167. #pragma import reset
  168. #endif
  169.  
  170. #ifdef __cplusplus
  171. }
  172. #endif
  173.  
  174. #endif /* __QD3DCUSTOMELEMENTS__ */
  175.  
  176.